It is common to encode data prior to transmitting the data. The encoding of data can be for different reasons. For example, certain codes can embed a clock signal into the data, others can enable a certain level of tolerance to errors and interference, while some codes can reduce the amount of power required to transmit the data. Therefore, a significant amount of research and development has gone into coding schemes (along with attendant encoders and decoders). A properly designed and selected coding scheme can result in a system with a better performance level than a system that is not using a coding scheme, while a poorly designed coding scheme can actually degrade performance.
A coding scheme can reduce the amount of power required to transmit data. This may be achieved by reducing the total number of transitions in the transmission or by reducing the number of times a certain state appears in the transmission of the data. Transitions may cause increased power consumption since the transition may incur a current flow while a steady state value may not. Certain states in a transmission may increase power consumption if that state requires more current to sustain than other states.
However, coding schemes to reduce power consumption are typically designed for systems where the transmission lines are symmetrically terminated. A symmetrically terminated transmission line is one where the load seen by the various states of the transmission is the same. In some systems, the load may appear to be different for different states (commonly referred to as asymmetrically terminated transmission lines) and therefore, the coding schemes designed for symmetrically terminated transmission lines may not perform well.